package Arrays;
/*冒泡排序：
一种排序的方式，对要进行排序的数据中相邻的数据进行两两比较，将较大数据放在后面，
依次对所有的数据进行操作，直至所有数据要求完成排序
 */
public class ArrayDemo {
    public static void main(String[] args) {
      //定义一个数组
        int[]arr ={24,69,80,57,13};
        System.out.println("排序前" + arrayToString(arr));

        /*
        //每次比较要减一次元素（arr.length)，
        //第一次比较
        for (int i = 0; i <arr.length-1; i++) {
            if(arr[i]>arr[i+1]){
                int temp=arr[i];
                arr[i]=arr[i+1];
                arr[i+1]=temp;

            }
        }
        System.out.println("第一次比较后"+ arrayToString(arr));
        //第二次比较
        for (int i = 0; i <arr.length-2; i++) {
            if(arr[i]>arr[i+1]){
                int temp=arr[i];
                arr[i]=arr[i+1];
                arr[i+1]=temp;

            }
        }
        System.out.println("第二次比较后"+ arrayToString(arr));
        //第一次比较
        for (int i = 0; i <arr.length-3; i++) {
            if(arr[i]>arr[i+1]){
                int temp=arr[i];
                arr[i]=arr[i+1];
                arr[i+1]=temp;

            }
        }
        System.out.println("第三次比较后"+ arrayToString(arr));
        //第四次比较
        for (int i = 0; i <arr.length-4; i++) {
            if(arr[i]>arr[i+1]){
                int temp=arr[i];
                arr[i]=arr[i+1];
                arr[i+1]=temp;

            }
        }
        System.out.println("第四次比较后"+ arrayToString(arr));*/
        for (int x=0;x<4;x++){
            //每比较一次就减去比较的元素的个数
            for (int i = 0; i < arr.length-x-1 ; i++) {
                if (arr[i]>arr[i+1]){
                    int temp=arr[i];
                    arr[i]=arr[i+1];
                    arr[i+1]=temp;
                }

            }
        }
        System.out.println("排序后"+ arrayToString(arr));
    }
    //把数组中的元素按照指定的规则进行拼接字符串
    public static String arrayToString(int[]arr) {
        StringBuilder sb = new StringBuilder();
        sb.append("[");
        for (int i = 0; i < arr.length; i++) {
            if (i == arr.length - 1) {
                sb.append(arr[i]);
            } else {
                sb.append(arr[i]).append(",");
            }
        }
        sb.append("]");
        String s = sb.toString();
        return s;
    }
}
